package com.xhdx.mbean;

import java.util.ArrayList;
import java.util.List;

/**
 * new了一个对象，会进入到堆里面，先放到年轻代中 也就是new generation ，他放到eden中，如果eden满了，
 * 就会进行一次yong gc ，如果还有存活对象（被用到的对象）就会被移到S0区或者S1中转移，如果s0和S1都已经满了，
 * 那么这些对象（引用）就会把放到年老代中去，也就是old  generation 区，如果old区，也满了，也会GC一次，
 * 也就是FGC,也就是fullGC,如果fullGC一次，就在也不接受新new的对象，往里面存储3如果fullGC，5分钟拒绝服务，
 * jvm拒绝工作，那么5分钟类都没办法使用，所以fullGC时间要短，次数要少
 */
public class MeOutStackTest {
    public static void main(String[] args) {
        int size=1024 * 1024 *8;
        List<byte[] > list =new ArrayList<byte[]>();
        for (int i=0;i<1024;i++){
            System.out.println("jvm 写入数据"+(i+1)+"M");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            list.add(new byte[size]);
        }
 
    }
}
